package org.jeecg.modules.flowermater.vo;

import java.util.List;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.flowermater.entity.FlowerMaterialInMain;
import org.jeecg.modules.flowermater.entity.FlowerMaterialIn;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 采后物资入库主表
 * @Author: jeecg-boot
 * @Date:   2022-07-13
 * @Version: V1.0
 */
@Data
@ApiModel(value="flower_material_in_mainPage对象", description="采后物资入库主表")
public class FlowerMaterialInMainPage {

	/**主键*/
	@ApiModelProperty(value = "主键")
	private String id;
	/**单号*/
	@Excel(name = "单号", width = 15 ,needMerge = true)
	@ApiModelProperty(value = "单号")
	private String no;
	/**入库单名称*/
	@Excel(name = "入库单名称", width = 15 ,needMerge = true)
	@ApiModelProperty(value = "入库单名称")
	private String name;
	/**供应商*/
	@Excel(name = "供应商", width = 15)
	@ApiModelProperty(value = "供应商")
	@Dict( dictTable = "flower_material_supplier",dicText = "name",dicCode = "code")
	private String supplier;

	/**入库人*/
	@Excel(name = "入库人", width = 15 ,needMerge = true)
	@ApiModelProperty(value = "入库人")
	private String inPersonName;
	/**入库人编码*/
//	@Excel(name = "入库人编码", width = 15)
	@ApiModelProperty(value = "入库人编码")
	private String inPersonCode;
	/**入库时间*/
	@Excel(name = "入库时间", width = 15, format = "yyyy-MM-dd" ,needMerge = true)
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "入库时间")
	private Date inTime;
	/**库房*/
	@Excel(name = "库房", width = 15,dictTable = "flower_storehouse",dicText = "name",dicCode = "code" ,needMerge = true)
	@ApiModelProperty(value = "库房")
	@Dict( dictTable = "flower_storehouse",dicText = "name",dicCode = "code")
	private String storehouse;
	@Excel(name = "成本中心", width = 15 , dicCode = "ch_cost")
	@Dict(dicCode = "ch_cost",dicText = "costText")
	@ApiModelProperty(value = "成本中心")
	private String cost;


	@Excel(name = "入库类型", width = 15 , dicCode = "chm_type" ,needMerge = true)
	@Dict(dicCode = "chm_type" )
	@ApiModelProperty(value = "入库类型")
	private String type;

	@Excel(name = "备注", width = 15   ,needMerge = true)
	@ApiModelProperty(value = "备注")
	private String remarks;

	@Excel(name = "合同编号", width = 15   ,needMerge = true)
	@ApiModelProperty(value = "合同编号")
	private String contractNo;

	@Excel(name = "库管确认人", width = 15   ,needMerge = true)
	@ApiModelProperty(value = "库管确认人")
	private String houseSureUser;

	@Excel(name = "库管确认时间", width = 15 ,format = "yyyy-MM-dd HH:mm:ss" ,needMerge = true)
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "库管确认时间")
	private Date houseSureTime;

	@Excel(name = "财务确认人", width = 15  ,needMerge = true )
	@ApiModelProperty(value = "财务确认人")
	private String finaSureUser;

	@Excel(name = "财务确认时间", width = 15  ,format = "yyyy-MM-dd HH:mm:ss" ,needMerge = true)
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "财务确认时间")
	private Date finaSureTime;

	@Excel(name = "账期号", width = 15  ,needMerge = true )
	@ApiModelProperty(value = "账期号")
	private String period;

	@Excel(name = "账期状态", width = 15  ,needMerge = true )
	@ApiModelProperty(value = "账期状态")
	private String periodState;



	/**状态 0正常1删除*/
//	@Excel(name = "状态 0录入，1库管确认，2财务确认", width = 15 ,needMerge = true)
	@Excel(name = "状态", width = 15 , dicCode = "ch_materInmainState" , needMerge = true)
	@ApiModelProperty(value ="状态 0录入，1库管确认，2财务确认")
	private Integer state;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
	@Excel(name = "创建人", width = 15,  dictTable = "sys_user",dicText = "realname",dicCode = "username" ,needMerge = true)
	@Dict( dictTable = "sys_user",dicText = "realname",dicCode = "username")
	private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "创建日期")
	private Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
	private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "更新日期")
	private Date updateTime;
	
	@ExcelCollection(name="采后物资入库子表")
	@ApiModelProperty(value = "采后物资入库子表")
	private List<FlowerMaterialIn> flowerMaterialInList;
	
}
